The present invention relates generally to process control networks and, more specifically, to a device and method for performing auto-tuning on control elements distributed throughout a process control environment.
Process control networks, such as those used in chemical, petroleum or other processes, have generally included a centralized process controller communicatively coupled to one or more field devices which may be, for example, valve positioners, switches, sensors (such as temperature, pressure and flow rate sensors), etc. These field devices may perform physical control functions within the process (such as opening or closing a valve), may take measurements within the process for use in controlling the operation of the process or may perform any other desired function within the process. Process controllers have historically been connected to field devices via one or more analog signal lines or buses which may carry, for example, 4-20 mA (milliamp) signals to and from the field devices. Generally speaking, the process controller receives signals indicative of measurements made by one or more field devices and/or other information pertaining to the field devices, uses this information to implement a typically complex control routine and then generates control signals which are sent via the analog signal buses to the field devices to thereby control the operation of the process.
Recently, there has been a move within the process control industry to implement field-based digital communications within the process control environment. For example, the process control industry has developed a number of standard, open, digital or combined digital and analog communication protocols such as the HART(copyright), PROFIBUS(copyright), WORLDFIP(copyright), Device-Net(copyright) and CAN protocols. These digital communication protocols generally enable more field devices to be connected to a particular bus, support more and faster communication between the field devices and the controller and/or allow field devices to send more and different types of information, such as information pertaining to the status and configuration of the field device itself, to the process controller. Furthermore, these standard digital protocols enable field devices made by different manufacturers to be used together within the same process control network.
Also, there is now a move within the process control industry to decentralize process control and, thereby, simplify process controllers. Decentralized control is obtained by having field mounted process control devices, such as valve positioners, transmitters, etc. perform one or more process control functions using what are typically referred to as function blocks or control blocks and by then communicating data across a bus structure for use by other process control devices (or function blocks) in performing other control functions. To implement these control functions, each process control device typically includes a microprocessor having the capability to implement one or more function blocks as well as the ability to communicate with other process control devices using a standard and open communication protocol. In this manner, field devices can be interconnected within a process control network to communicate with one another and to perform one or more process control functions forming a control loop without the intervention of a centralized process controller. The all-digital, two-wire bus protocol now being promulgated by the Fieldbus Foundation, known as the FOUNDATION(trademark) Fieldbus (hereinafter xe2x80x9cFieldbusxe2x80x9d) protocol is one open communication protocol that allows devices made by different manufacturers to interoperate and to communicate with one another via a standard bus to effect decentralized control within a process.
Tuning of any control block or control loop in a prior art system that has the entire process control routine (e.g., all of the function blocks of the control routine) or parts thereof located within one or more centralized controllers is fairly simple. because the entire tuning routine can also be stored in the centralized controller. When tuning of a control loop of such a centralized control routine is desired, the separate tuning routine within the centralized controller forces the appropriate control block, such as a proportional-integral (PI) or proportional-integral-derivative (PID) control block, through a tuning procedure like an induced oscillation procedure, to determine predefined characteristics of the process or the loop. During this dynamic data capture phase of the tuning procedure, the tuning routine collects data generated by the loop, which is being delivered to the centralized controller per normal operation, and determines from this data one or more process characteristics, such as the ultimate gain, the time constant, etc. of the process. Once the desired process characteristics are calculated, the tuning routine applies a set of rules or other algorithms using the calculated process characteristics to determine new tuning parameters for the control block or control loop. This step is commonly referred to as the rule application phase of the tuning procedure. Thereafter, the tuning routine delivers the new tuning parameters to the control block (or control loop) and the tuning procedure is complete. Because, in a centralized process control system, all of the control functions are located within the controller and all of the data necessary for tuning is provided to the controller during normal operation of the process, the tuning routine has direct access to the control blocks and to the data necessary for performing the tuning routine.
With decentralized communication protocols in which control blocks or control elements, such as PI, PID, fuzzy logic, etc. control blocks, are located in a distributed manner throughout a process control network, it is harder to tune the control blocks (or control loops within which these blocks are operating) because the control blocks are located away from the centralized controller (or other device) where the tuning routine is typically stored. In one known prior art system used for implementing tuning in a distributed process control environment, the entire tuning procedure remains within the centralized process controller. This system, however, cannot perform fast tuning because it must communicate over a bus network (which is providing other communications within the process) to receive the data developed during the tuning routine and, unfortunately, the amount of data (or speed at which the tuning routine can receive this data) is limited by the constraints of the bus throughput. Furthermore, because the bus communications are controlled by a separate bus controller and not by the tuning routine, the tuning routine cannot strictly control the exact times at which the tuning control signals are delivered to the control block in order to start, stop and implement different segments of the tuning procedure. This, in turn, means that the tuning control routine does not have strict control over the timing of the tuning procedure, which may lead to inaccurate results.
In another known prior art system that provides tuning within a distributed process control environment, the entire tuning routine is placed within the same device as the control block to be tuned (such as the PID function block) and, in fact, is actually incorporated into the functionality of the control block. While this system is able to control the timing of the tuning procedure precisely and to collect data at any desired rate (because the tuning routine does not have to communicate with the control block via a bus), the tuning routine must be compiled along with and at the same time as the control block, which increases the overhead (e.g., the timing, processing, memory, etc. requirements) associated with the use of the control block during normal operation of the process, even though the functionality of the auto-tuning routine is used relatively infrequently during normal operation of the control loop. Furthermore, a complete auto-tuning routine must be placed within each different device in which a control block is located in order to enable auto-tuning of each control block, which adds unneeded redundancy to and increases the cost of the process control system.
An auto-tuner for use in tuning a control element (such as a control block) in a process control network having distributed control functions includes a first tuning element located within a controller or a field device in which the control element is operating and a second tuning element located in a different device, such as an operator workstation, a personal computer or a centralized controller connected to the controller or the field device in which the first tuning element is located, wherein the second tuning element communicates with the first tuning element via a bus or other communication network. The first tuning element controls the operation of the control block during the dynamic data capture phase of an auto-tuning procedure, collects data during this phase of the auto-tuning procedure and, preferably, calculates one or more process (e.g. loop) characteristics from the collected data. The first tuning element sends the calculated process characteristics (or the collected data) via the communication network to the second tuning element of the auto-tuner. The second tuning element uses one or more stored sets of rules (such as a fuzzy logic rule set, a neural network configuration or rule set or any other set of algorithms) to determine new tuning parameters for the control element based on the process characteristics developed by the first tuning element. The second tuning element may then send the new tuning parameters via the communication network to the control element to re-tune the control element or the control loop within which the control element is located.
An embodiment of the auto-tuner described herein is able to control the timing of the tuning procedure in a precise manner and to capture as much data as necessary to determine desired process characteristics because the control and data capture functions are performed within the same device as the control element and, as a result, there is no need to communicate with the control element via a bus during the dynamic data capture phase of the tuning procedure. However, this auto-tuner does not result in unnecessary overhead within the control element because the tuning parameter calculations are performed in another device located away from the control element and, as a result, the control element does not need to be compiled to incorporate these functions. Furthermore, a single tuning parameter calculation routine can be used to calculate tuning parameters for different types and different ones of the control elements within the network because this routine can store and use different sets of rules for each of the different types of control elements being tuned. Moreover, the same auto-tuner function block or functionality can be placed within each of the devices having a control element therein because the process characteristics associated with different control loops can be determined in the same manner, even if these control loops use different types of control blocks including, for example, PI, PID) and fuzzy logic control blocks. These advantages make the auto-tuner more versatile and eliminates the need to place separate complete auto-tuners in each device having a control element therein. Still further, this auto-tuner can be easily implemented into any part of a process control network as an add-on capability.